package com.lnking.lnkingplace.model.entity;

import com.baomidou.mybatisplus.annotation.*;

import java.time.LocalDateTime;
import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * <p>
 * 场所信息表
 * </p>
 *
 * @author zhangqt
 * @since 2022-08-18
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("place")
@ApiModel(value="场所信息")
public class PlaceInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id")
    @ApiModelProperty(value = "场所id")
    private String id;

    /**
     * 场所名称
     */
    @TableField("place_name")
    @ApiModelProperty(value = "场所名称",required = true)
    @NotNull(message = "[placeName]不能为空")
    @NotBlank(message = "[placeName]不能为空")
    private String placeName;

    /**
     * 场所类型
     */
    @TableField("place_type")
    @ApiModelProperty(value = "场所类型")
    private String placeType;

    /**
     * 地址
     */
    @TableField("address")
    @ApiModelProperty(value = "地址")
    private String address;

    /**
     * 联系人
     */
    @TableField("linkman")
    @ApiModelProperty(value = "联系人",required = true)
    private String linkman;

    /*cr
     * 电话号码
     */
    @TableField("linkman_phone")
    @ApiModelProperty(value = "联系人电话",required = true)
    private String linkmanPhone;

    /**
     * 电话号码
     */
    @TableField("phone_number")
    @ApiModelProperty(value = "场所电话")
    private String phoneNumber;

    /**
     * 创建时间
     */
    @TableField("create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonIgnore
    private LocalDateTime createTime;

    /**
     * 删除标识
     */
    @TableField("del_flag")
    @JsonIgnore
    private Integer delFlag;

    /**
     * 经纬度
     */
    @TableField("lngitude")
    @ApiModelProperty(value = "经纬度")
    private Float lngitude;

    /**
     * 经纬度
     */
    @ApiModelProperty(value = "经纬度")
    @TableField("latitude")
    private Float latitude;

    /**
     * 营业时间
     */
    @ApiModelProperty(value = "营业时间")
    @TableField("opening_time")
    private String openingTime;

    /**
     * 面积
     */
    @ApiModelProperty(value = "面积")
    @TableField("area")
    private String area;

    /**
     * 注册资金
     */
    @ApiModelProperty(value = "注册资金")
    @TableField("assets")
    private Float assets;

    /**
     * 经营范围
     */
    @ApiModelProperty(value = "经营范围")
    @TableField("business_nature")
    private String businessNature;

    /**
     * 从业人员数量
     */
    @ApiModelProperty(value = "从业人员数量")
    @TableField("worker_num")
    private Integer workerNum;

    @ApiModelProperty(value = "证件")
    private String certificate;

    @ApiModelProperty("渠道")
    @JsonIgnore
    private String channel;

    @ApiModelProperty("所属街道")
    private String street;

    @ApiModelProperty("营业执照号")
    private String businessLicenseNo;

    @ApiModelProperty("营业状态")
    private String operatingStatus;

    @ApiModelProperty("审核状态(新增)")
    private String processAddStatus;

    @ApiModelProperty("审核人(新增)")
    private String auditAddUser;

    @ApiModelProperty("类型Id")
    private String placeTypeId;

    @ApiModelProperty("类型对应字段")
    private String info;

    @ApiModelProperty("店铺招牌")
    private String shopSign;



    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("检查时修改营业状态时间")
    private LocalDateTime operatingTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("删除时间")
    private LocalDateTime delTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("审核通过时间")
    private LocalDateTime auditTime;
}
